There are various tools available in the market which serve to test an item, such as a product or service, using various test case generation algorithms. One such testing method is the Cartesian Product or array method in which every possible value for each input field are tested to identify failures in the tested item. The Cartesian Product ensures maximum coverage of the tested item as all the possible input scenarios are considered. Also, using the Cartesian Product provides the tester with an understanding of all the generated test cases for the tested item. However, the Cartesian Product has a significant disadvantage as the user is required to input all the possible input values. Another disadvantage is that the sheer number of input variables usually leads to an overwhelming number of test cases which the testing software must computer for and the tester must review and evaluate. This is undesirable as the process is not only time intensive but also costly as it requires significant computational resources in order to test every possible case.
Another testing method that is used to test an item is an Orthogonal Array method. The Orthogonal Array method involves testing a majority of common test case scenarios to identify potential failures in the tested item. Although the Orthogonal Array method is optimal in comparison to the Cartesian Array method, the Orthogonal Array method has disadvantages in that not all the possible scenarios are considered. Further, the Orthogonal Array method is not a complete solution as a change in one or more of the input fields can lead to inconsistencies in the testing results which further complicates the ultimate goal which the tester is trying to achieve.
What is needed is a system and method which tests all the possible input scenarios without requiring the time intensiveness of repeatedly inputting, and computing, all possible input fields and variables.